#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>

int main() {
    pid_t pid = fork();
    if (pid == 0) {
        // 子进程主动退出（触发 WIFEXITED == true）
        exit(42);  // 或 return 42;
    } else {
        int status;
        waitpid(pid, &status, 0);
        
        if (WIFEXITED(status)) {
            printf("子进程正常退出，退出码: %d\n", WEXITSTATUS(status)); // 输出 42
        } else {
            printf("子进程异常终止\n");
        }
    }
    return 0;
}
